\chapter{Interface graphique}

L'interface graphique, pour l'utilisateur lambda, est le premier point de contact avec la machine. Elle se doit donc d'être la plus clair possible (simplicité) mais aussi d'être attrayante pour attiser le plus de potentiels clients par rapport à des programmes déjà existants lors de sa sortie.

\section{Inition à GTK - Ocaml}

J'étais allé à l'initiation Ocaml-GTK organisé par Gconf l'année dernière, mais aujourd'hui il ne m'en reste plus aucun souvenir, et une image d'un disque dont je ne me souviens plus le mot de passe pour me connecter ; en résumé pas grand chose ou rien.\\

Lors de la première semaine de rush, on a essayé de réutiliser Glade, sans grand succès, en effet mlglade n'arrivait pas à parser mon fichier glade, et j'ai du passer plusieurs nuits en vain, à essayer de réinstaller des libs, changer quelques pichenettes sans grand succès.\\
\\
Ensuite j'ai décidé de coder directement l'interface graphique en Ocaml via GTK, j'ai pu enfin avoir un rendu, après quelques péripéties, *argh je n'ai pas mis mon code sur le mercu et j'ai tout effacé*, on a commencé à avoir un rendu acceptable. Cette première version est une ébauche de la version finale, elle aura été surtout formateur et nous permettra de repartir directement sur de bonnes bases pour les futures soutenances.

\section{L'interface d'aujourd'hui}

Cette version reprend les standards des interfaces graphiques, une barre de menu, une navigation par onglet et quelques boutons de traitement. L'utilisateur pourra la prendre en main très facilement sans apprentissage.\\
\\
L'utilisateur doit charger une image pour pouvoir ensuite le traiter, nous utilisons une boite de dialogue de fichiers qui nous sert à la sélection.\\

\begin{figure}[h!]
\centering
\includegraphics[scale=0.35]{images/p_load.png}
\caption{CardinoGen - Onglet de chargement} 
\end{figure}

On peut ensuite commencer à traiter et analyser l'image, la GUI appelle les différentes modules expliqués précédemment et les applique pour offrir un rendu à l'utilisateur.\\

\begin{figure}[h!]
\centering
\includegraphics[scale=0.35]{images/p_proce.png}
\caption{CardinoGen - Onglet de traitement} 
\end{figure}

\newpage

\section{Architecture future}

Le modèle présenté pour la première soutenance n'est qu'un grossier brouillon, dans la future version nous comptons bine implémenter d'autres fonctionnalités et une architecture plus efficace.\\
\\
Via la barre de menu, l'utilisateur pourra charger une image mais aussi sauvegarder ses traitements, il aura également la possibilité d'ouvrir un fichier déjà convertis sans ré-effectuer toutes les étapes ; un didacticiel et une fenêtre   d'"A propos" seront également ajoutés.\\
\\


\begin{figure}[h!]
\centering
\includegraphics[scale=0.5]{images/f_architecture.png}
\caption{Futur de CardinoGen - Architecture} 
\end{figure}

Voici les plans de notre future version :\\

\begin{figure}[h!]
\centering
\includegraphics[scale=0.30]{images/f_trimmings.png}
\caption{Futur de CardinoGen - Onglet de réglages} 
\end{figure}

\begin{figure}[h!]
\centering
\includegraphics[scale=0.30]{images/f_treatement.png}
\caption{Futur de CardinoGen - Onglet de traitement} 
\end{figure}

\begin{figure}[h!]
\centering
\includegraphics[scale=0.30]{images/f_3d.png}
\caption{Futur de CardinoGen - Onglet d'affichage 3D} 
\end{figure}

Il reste beaucoup de travail sur la partie graphique, mais je reste confiant, l'ébauche est faite, et maintenant GTK n'est plus aussi mystique. La prochaine soutenance verra une GUI fonctionnelle à 100\%.